//Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador
var tpoNavegador = navigator.userAgent.toLowerCase(); 
var xmlhttp; 

//Função que inicia o objeto XMLHttpRequest
function objetoXML() 
{
    if (navegador.indexOf('msie') != -1) //Internet Explorer
    { 
        //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'
        var controle = (tpoNavegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
        try
        {
            //Inicia o objeto no IE
            xmlhttp = new ActiveXObject(controle); 
        } 
        catch (e) { }
    } 
    else //Firefox, Safari, Mozilla
    { 
        //Inicia o objeto no Firefox, Safari, Mozilla
        xmlhttp = new XMLHttpRequest(); 
    }
}

function enviarForm(url, campos, divStatus) 
{
    var Status = document.getElementById(divStatus); 
    //Executa a função objetoXML()
    objetoXML(); 
    //Se o objeto de 'xmlhttp' não estiver true
    if (!xmlhttp)
    {
        //Impossível iniciar o objeto XMLHttpRequest.
        Status.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.';
        return;
    }
    else
    {
        Status.innerHTML = 'Carregando...'; 
    }
    
    xmlhttp.onreadystatechange = function () 
    {
        //Se a requisição estiver completada
        if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) 
        { 
            //Se o status da requisição estiver OK
            if (xmlhttp.status == 200)
            {
                //Insere no 'elemento' a página postada
                Status.innerHTML = xmlhttp.responseText; 
            } 
            else
            {  
                //Insere no 'elemento' o texto atribuído
                Status.innerHMTL = 'Página não encontrada!'; 
            }
        }
    }
    //Abre a página que receberá os campos do formulário
    xmlhttp.open('POST', url+'?'+campos, true);
    //Envia o formulário com dados da variável 'campos' (passado por parâmetro)
    xmlhttp.send(campos); 
}

